﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace Tst.Models
{
    public class AmbienteTesteRepository
    {
        private TstEntities context;

        public AmbienteTesteRepository()
        {
            this.context = new TstEntities();
        }

        ~AmbienteTesteRepository()
        {
            this.context.Dispose();
        }

        public void Save()
        {
            this.context.SaveChanges();
        }

        public IList<AmbienteTeste> GetAll()
        {
            return this.context.AmbienteTeste.ToList();
        }

        public AmbienteTeste GetById(int cd_ambienteTeste)
        {
            return context.AmbienteTeste.FirstOrDefault(a => a.cd_ambiente_teste == cd_ambienteTeste);
        }

        public AmbienteTeste GetByDescricao(string ds_descricao)
        {
            return this.context.AmbienteTeste.FirstOrDefault(a => a.ds_descricao.Equals(ds_descricao));
        }

        public AmbienteTeste Insert(AmbienteTeste ambienteTeste)
        {
            this.context.AddToAmbienteTeste(ambienteTeste);
            return ambienteTeste;
        }

        public void Update(AmbienteTeste ambienteTeste)
        {
            this.context.AttachUpdated(ambienteTeste);
        }

        public void Delete(int cd_ambienteTeste)
        {
            AmbienteTeste ambienteTeste = this.GetById(cd_ambienteTeste);

            if (ambienteTeste != null)
            {
                this.context.DeleteObject(ambienteTeste);
            }
        }
    }
}
